package com.qixiaobao.insure.mapper;

import com.qixiaobao.common.core.domain.entity.InsureFileCoverRule;
import com.qixiaobao.insure.domain.dto.InsureFileCoverRuleDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description 保单遮盖规则  数据层
 * @Author yangxm
 * @Date 2025/7/10 10:12
 */
@Mapper
public interface InsureFileCoverRuleMapper {


    /**
     * 查询保单遮盖规则列表
     *
     * @param insureFileCoverRuleDTO
     * @return
     */
    List<InsureFileCoverRule> selectInsureFileCoverRuleList(InsureFileCoverRuleDTO insureFileCoverRuleDTO);

    /**
     * 查询保单遮盖规则数量
     *
     * @param keyword
     * @param supplyName
     * @return
     */
    int selectInsureFileCoverRuleCount(@Param("keyword") String keyword, @Param("supplyName") String supplyName);

    /**
     * @Description 保存
     * @Author yangxm
     * @Date 2025/7/10 10:17
     * @param insureFileCoverRule
     * @return int
     */
    int insertInsureFileCoverRule(InsureFileCoverRule insureFileCoverRule);

    /**
     * @Description 查询
     * @Author yangxm
     * @Date 2025/7/10 10:17
     * @param insureFileCoverRule
     * @return com.qixiaobao.common.core.domain.entity.InsureFileCoverRule
     */
    InsureFileCoverRule selectInsureFileCoverRule(InsureFileCoverRule insureFileCoverRule);

    /**
     * @Description 修改
     * @Author yangxm
     * @Date 2025/7/10 10:17
     * @param insureFileCoverRule
     * @return int
     */
    int updateInsureFileCoverRule(InsureFileCoverRule insureFileCoverRule);

    /**
     * @Description 删除
     * @Author yangxm
     * @Date 2025/7/10 10:17
     * @param id
     * @return int
     */
    int deleteInsureFileCoverRuleById(Long id);

    /**
     * @Description 根据供应商名称查询保单遮盖规则
     * @Author yangxm
     * @Date 2025/7/10 10:17
     * @param supplyName
     * @return java.util.List<com.qixiaobao.common.core.domain.entity.InsureFileCoverRule>
     */
    List<InsureFileCoverRule> selectInsureFileCoverRuleListBySupplyName(String supplyName);
}
